home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / GNU_C++ / LIB / SRC / GEMLIB38.LZH / x_fslx.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-07-11  |  2.9 KB  |  119 lines

  1. /*
  2.  * Aes file selection library interface (MagiC only)
  3.  *
  4.  */
  5. #include "gemx.h"
  6.  
  7.  
  8. int fslx_close(void *fsd)
  9. {
  10.     aes_addrin[0] = (long)fsd;
  11.     aes_control[0] = 191;
  12.     aes_control[1] = 0;
  13.     aes_control[2] = 1;
  14.     aes_control[3] = 1;
  15.     aes_control[4] = 0;
  16.     aes(&aes_params);
  17.     return aes_intout[0];
  18. }
  19.  
  20. void *fslx_do(char *title, char *path, int pathlen, char *fname, int fnamelen, 
  21.                     char *patterns, XFSL_FILTER filter, char *paths, int *sort_mode, 
  22.                     int flags, int *button, int *nfiles, char **pattern)
  23. {
  24.     aes_intin[0] = pathlen;
  25.     aes_intin[1] = fnamelen;
  26.     aes_intin[2] = *sort_mode;
  27.     aes_intin[3] = flags;
  28.     aes_addrin[0] = (long)title;
  29.     aes_addrin[1] = (long)path;
  30.     aes_addrin[2] = (long)fname;
  31.     aes_addrin[3] = (long)patterns;
  32.     aes_addrin[4] = (long)filter;
  33.     aes_addrin[5] = (long)paths;
  34.     aes_control[0] = 194;
  35.     aes_control[1] = 4;
  36.     aes_control[2] = 4;
  37.     aes_control[3] = 6;
  38.     aes_control[4] = 2;
  39.     aes(&aes_params);
  40.     *button = aes_intout[1];
  41.     *nfiles = aes_intout[2];
  42.     *sort_mode = aes_intout[3];
  43.     *pattern = (char *)aes_addrout[1];
  44.     return (void *)aes_addrout[0];
  45. }
  46.  
  47. int fslx_evnt(void *fsd, EVNT *events, char *path, char *fname, int *button, 
  48.                   int *nfiles, int *sort_mode, char **pattern)
  49. {
  50.     aes_addrin[0] = (long)fsd;
  51.     aes_addrin[1] = (long)events;
  52.     aes_addrin[2] = (long)path;
  53.     aes_addrin[3] = (long)fname;
  54.     aes_control[0] = 193;
  55.     aes_control[1] = 0;
  56.     aes_control[2] = 4;
  57.     aes_control[3] = 4;
  58.     aes_control[4] = 1;
  59.     aes(&aes_params);
  60.     *button = aes_intout[1];
  61.     *nfiles = aes_intout[2];
  62.     *sort_mode = aes_intout[3];
  63.     *pattern = (char *)aes_addrout[0];
  64.     return aes_intout[0];
  65. }
  66.  
  67. int fslx_getnxtfile(void *fsd, char *fname)
  68. {
  69.     aes_addrin[0] = (long)fsd;
  70.     aes_addrin[1] = (long)fname;
  71.     aes_control[0] = 192;
  72.     aes_control[1] = 0;
  73.     aes_control[2] = 1;
  74.     aes_control[3] = 2;
  75.     aes_control[4] = 0;
  76.     aes(&aes_params);
  77.     return aes_intout[0];
  78. }
  79.  
  80. void *fslx_open(char *title, int x, int y, int *handle, char *path, int pathlen,
  81.                      char *fname, int fnamelen, char *patterns, XFSL_FILTER filter, 
  82.                      char *paths, int sort_mode, int flags)
  83. {
  84.     aes_intin[0] = x;
  85.     aes_intin[1] = y;
  86.     aes_intin[2] = pathlen;
  87.     aes_intin[3] = fnamelen;
  88.     aes_intin[4] = sort_mode;
  89.     aes_intin[5] = flags;
  90.     aes_addrin[0] = (long)title;
  91.     aes_addrin[1] = (long)path;
  92.     aes_addrin[2] = (long)fname;
  93.     aes_addrin[3] = (long)patterns;
  94.     aes_addrin[4] = (long)filter;
  95.     aes_addrin[5] = (long)paths;
  96.     aes_control[0] = 190;
  97.     aes_control[1] = 6;
  98.     aes_control[2] = 1;
  99.     aes_control[3] = 6;
  100.     aes_control[4] = 1;
  101.     aes(&aes_params);
  102.     *handle = aes_intout[0];
  103.     return (void *)aes_addrout[0];
  104. }
  105.  
  106. int fslx_set_flags(int flags, int *oldval)
  107. {
  108.     aes_intin[0] = 0;
  109.     aes_intin[1] = flags;
  110.     aes_control[0] = 195;
  111.     aes_control[1] = 2;
  112.     aes_control[2] = 2;
  113.     aes_control[3] = 0;
  114.     aes_control[4] = 0;
  115.     aes(&aes_params);
  116.     *oldval = aes_intout[1];
  117.     return aes_intout[0];
  118. }
  119.